package com.hzy;

import com.hzy.bootstrap.MainVerticle;
import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.concurrent.TimeUnit;

public class Main {

    private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);


    public static void main(String[] args) {
        int numCores = Runtime.getRuntime().availableProcessors();
        VertxOptions options = new VertxOptions()
                .setEventLoopPoolSize(numCores * 2) // 事件循环线程池大小设置为核心数的两倍
                .setMaxEventLoopExecuteTime(5) // 设置事件循环最大执行时间为 5 秒
                .setMaxEventLoopExecuteTimeUnit(TimeUnit.SECONDS)// 时间单位为秒
                .setWorkerPoolSize(Math.max(20, numCores * 2)); // 增加 Worker 线程池大小，至少20，或核心数两倍

        Vertx vertx = Vertx.vertx(options);
        vertx.deployVerticle(MainVerticle.class.getName());

    }
}